//package com.ruoyi.equip.vert.service.impl;
//
//import com.ruoyi.common.utils.net.HexUtil;
//import com.ruoyi.common.utils.spring.SpringUtils;
//import com.ruoyi.equip.domain.TagInfo;
//import com.ruoyi.equip.service.ITagInfoService;
//import com.ruoyi.equip.vert.config.TcpServerVerticle;
//import com.ruoyi.equip.vert.domain.TcpAnsEntity;
//import com.ruoyi.equip.vert.domain.TcpParserEntity;
//import com.ruoyi.equip.vert.domain.param.TagInfoEntity;
//import com.ruoyi.equip.vert.service.TransferStrategy;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.stereotype.Service;
//
//import java.util.ArrayList;
//import java.util.List;
//
//import static com.ruoyi.common.utils.net.HexUtil.listToStrBySymbol;
//import static com.ruoyi.equip.vert.TcpReaderConstant.*;
//
//@Slf4j
//@Service
//public class ReqTagInfoTransfer implements TransferStrategy {
//    ITagInfoService tagService = SpringUtils.getBean(ITagInfoService.class);
//    TcpServerVerticle tcpServerVerticle = SpringUtils.getBean(TcpServerVerticle.class);
//    @Override
//    public void transfer(TcpParserEntity tcpParserEntity) {
//        String tagId = HexUtil.hexListToStr(tcpParserEntity.getParam());
//        TagInfo t = tagService.selectTagInfo(tcpParserEntity.getReaderId(), tagId);
//        // 组装返回数据
//        TcpAnsEntity tcpAns = new TcpAnsEntity();
//
//        tcpAns.setReaderId(tcpParserEntity.getReaderId());
//        tcpAns.setOptType(ANS_TAG_INFO);
//
//        // 标签信息组装
//        List<String> param=new ArrayList<>();
//        // 操作类型
//        param.add(TAG_OPT_ADD);
//        // 天线
//        param.add(HexUtil.intToHexStr1(t.getAnt()));
//        // 标签访问密码
//        param.add("00000000");
//        //操作命令
//        param.add("00");
//        //配置参数 (数据类型)
//        param.add(getType(t.getType()));
//
//        String sbId = t.getSbId();
//        // 标签长度
//        param.add(HexUtil.intToHexStr1(sbId.length()));
//        param.add(t.getSbId());
//
//
//        tcpAns.setParamLen(HexUtil.intToHexStr1(param.size()));
//        tcpAns.setParam(listToStrBySymbol(param,""));
//        tcpAns.setCrc("0a");
//        tcpServerVerticle.sendMsg(tcpParserEntity.getHandlerID(),tcpAns.toString());
//    }
//
//    public String getType(int type){
//        switch (type){
//            case 0:
//                return "00000000";
//            case 1:
//                return "f0000000";
//            case 2:
//                return "89000000";
//        }
//        return "";
//    }
//}
